{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Аггрегация разметки датасета MathLogicQA"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Аггрегация строится по следующей системе:\n",
    "\n",
    "1. Сбор размеченных пулов с Толоки. Возможны варианты:\n",
    "    - только общий пул нужно аггрегировать, тогда забирается только он\n",
    "    - часть данных находится в контрольных заданиях и экзамене, тогда к основному пулу добавляются данные задания\n",
    "2. Фильтрация разметчиков:\n",
    "    - в общем пуле есть некоторое количество заранее размеченных заданий - контрольных\n",
    "    - хорошим считается разметчик, который показывает `accuracy >= 0.5` на данных заданиях\n",
    "    - формируется список \"плохих\" разметчиков\n",
    "3. Аггрегация ответов разметчиков по заданиям:\n",
    "    - форматирование в заданиях может отличаться от изначального из-за выгрузки с Толоки\n",
    "    - учитываются только ответы \"хороших\" разметчиков\n",
    "    - аггрегация по подготовленным пулам - создается массив карточек вида {key: value}, где key - кортеж из всех значимых элементов задания, value - список из кортежей вида (user_id, answer)\n",
    "4. Голосование большинством по каждому заданию:\n",
    "    - минимально необходимое большинство составляет 3 голоса, так как такое большинство валидно для перекрытия 5\n",
    "    - по результату формируется датафрейм с заданиями и ответами\n",
    "5. Подгрузка оригинальных данных с разметкой в виде таблицы с заданиями и ответами\n",
    "6. Соединение таблиц:\n",
    "    - очистка форматирования в таблице с ответами разметчиков и в таблице с правильными ответами\n",
    "    - создание единых столбцов с полным заданием\n",
    "    - соединение таблиц по данному столбцу\n",
    "    - валидация размеров\n",
    "7. Подсчет метрик"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "from collections import Counter\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Сбор данных разметки и фильтрация разметчиков"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Датасет проходил разметку одним пулом из 1143 объектов, которые были получены путем фильтрации перевода оригинального сета на русский язык."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "assignments = pd.read_csv('assignments_from_pool_41847389__20-10-2023.tsv', sep='\\t')\n",
    "skills = pd.read_csv('workerSkills.csv', sep='|')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(8573, 19)"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "assignments.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Разметчикам предлагалось на основании имеющейся текстовой задачи и вариантов ответа на нее ответить на вопрос, какой ответ правильный. \n",
    "\n",
    "Вход: \n",
    "- INPUT:problem (пример: `Сколько будет два плюс два`).\n",
    "- INPUT:option1 (пример: `4`).\n",
    "- INPUT:option2 (пример: `1`).\n",
    "- INPUT:option3 (пример: `-4`).\n",
    "- INPUT:option4 (пример: `0`).\n",
    "\n",
    "Выход:\n",
    "- OUTPUT:solution (одна из четырех букв на выбор: `A`, `B`, `C`, `D`).\n",
    "\n",
    "В разметке были задачи, в которых предлагалось не 4, а 3 или 2 варианта ответа. Для них количество возможных букв в ответе, соответственно, сокращалось."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>INPUT:option1</th>\n",
       "      <th>INPUT:option2</th>\n",
       "      <th>INPUT:option3</th>\n",
       "      <th>INPUT:option4</th>\n",
       "      <th>INPUT:problem</th>\n",
       "      <th>OUTPUT:solution</th>\n",
       "      <th>GOLDEN:solution</th>\n",
       "      <th>HINT:text</th>\n",
       "      <th>HINT:default_language</th>\n",
       "      <th>ASSIGNMENT:link</th>\n",
       "      <th>ASSIGNMENT:task_id</th>\n",
       "      <th>ASSIGNMENT:assignment_id</th>\n",
       "      <th>ASSIGNMENT:task_suite_id</th>\n",
       "      <th>ASSIGNMENT:worker_id</th>\n",
       "      <th>ASSIGNMENT:status</th>\n",
       "      <th>ASSIGNMENT:started</th>\n",
       "      <th>ASSIGNMENT:submitted</th>\n",
       "      <th>ASSIGNMENT:accepted</th>\n",
       "      <th>ASSIGNMENT:reward</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>неправда</td>\n",
       "      <td>невозможно определить</td>\n",
       "      <td>нет правильного ответа</td>\n",
       "      <td>правда</td>\n",
       "      <td>2 умножить на r минус t равно 1. 2 умножить на...</td>\n",
       "      <td>D</td>\n",
       "      <td>D</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://platform.toloka.ai/task/41847389/00027...</td>\n",
       "      <td>00027e8a5d--6531445f90b596667cdeab6c</td>\n",
       "      <td>00027e8a5d--65314dbab28c1e25e8d0234c</td>\n",
       "      <td>00027e8a5d--65314dbab28c1e25e8d0234a</td>\n",
       "      <td>1b2fbe75c141718717281a939bdb0e49</td>\n",
       "      <td>APPROVED</td>\n",
       "      <td>2023-10-19T15:39:38.951</td>\n",
       "      <td>2023-10-19T15:40:52.386</td>\n",
       "      <td>2023-10-19T15:40:52.386</td>\n",
       "      <td>0.042</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  INPUT:option1          INPUT:option2           INPUT:option3 INPUT:option4  \\\n",
       "0      неправда  невозможно определить  нет правильного ответа        правда   \n",
       "\n",
       "                                       INPUT:problem OUTPUT:solution  \\\n",
       "0  2 умножить на r минус t равно 1. 2 умножить на...               D   \n",
       "\n",
       "  GOLDEN:solution  HINT:text  HINT:default_language  \\\n",
       "0               D        NaN                    NaN   \n",
       "\n",
       "                                     ASSIGNMENT:link  \\\n",
       "0  https://platform.toloka.ai/task/41847389/00027...   \n",
       "\n",
       "                     ASSIGNMENT:task_id              ASSIGNMENT:assignment_id  \\\n",
       "0  00027e8a5d--6531445f90b596667cdeab6c  00027e8a5d--65314dbab28c1e25e8d0234c   \n",
       "\n",
       "               ASSIGNMENT:task_suite_id              ASSIGNMENT:worker_id  \\\n",
       "0  00027e8a5d--65314dbab28c1e25e8d0234a  1b2fbe75c141718717281a939bdb0e49   \n",
       "\n",
       "  ASSIGNMENT:status       ASSIGNMENT:started     ASSIGNMENT:submitted  \\\n",
       "0          APPROVED  2023-10-19T15:39:38.951  2023-10-19T15:40:52.386   \n",
       "\n",
       "       ASSIGNMENT:accepted  ASSIGNMENT:reward  \n",
       "0  2023-10-19T15:40:52.386              0.042  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "assignments.head(1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Фильтруем толокеров, которые дали меньше половины корректных ответов на контрольных заданиях."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Users total:  232\n",
      "Bad users: 25\n"
     ]
    }
   ],
   "source": [
    "from collections import defaultdict\n",
    "\n",
    "users_dict = defaultdict(lambda: defaultdict(int))\n",
    "\n",
    "for idx, row in assignments.iterrows():\n",
    "    problem = row[4]\n",
    "\n",
    "    out = row[5]\n",
    "    \n",
    "    gold = row[6]\n",
    "\n",
    "    user = row[13]\n",
    "\n",
    "    if str(user) != \"nan\" and str(gold) != \"nan\":\n",
    "        if out == gold:\n",
    "            users_dict[user][\"good\"] += 1\n",
    "        else:\n",
    "            users_dict[user][\"bad\"] += 1\n",
    "\n",
    "print(\"Users total: \", len(users_dict))\n",
    "bad_users = []\n",
    "for key, value in users_dict.items():\n",
    "    percentage_good = value[\"good\"]/(value[\"good\"] + value[\"bad\"])\n",
    "    if percentage_good < 0.5:\n",
    "        bad_users.append(key)\n",
    "\n",
    "print(\"Bad users:\", len(bad_users))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "25 из 232 разметчиков на контрольных заданиях показали слишком плохое качество, чтобы учитывать их ответы для расчета метрики."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Теперь нужно оставить только основной пул. Контрольные задания генерировались на основе задач из основного пула, но с существенными изменениями условий и ответов, потому их нужно убрать. На контрольных заданиях есть `GOLDEN:solution`. Также отсеиваем возможные баги Толоки, когда в строке может не быть задания - `INPUT:problem` содержит NaN."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "assignments_no_control = assignments[assignments['GOLDEN:solution'].isnull()]\n",
    "assignments_no_control_no_null = assignments_no_control[assignments_no_control['INPUT:problem'].notnull()]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Посчитаем, сколько было затрачено на получение разметки тестовых данных без учета контрольных заданий, так как они могли проходиться неограниченное количество раз одним и тем же разметчиком."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "взвешенная цена айтема в тесте: 0.041\n",
      "потрачено на разметку теста: 233.888\n",
      "233.888 / 0.041\n"
     ]
    }
   ],
   "source": [
    "def w_sum(df):\n",
    "    idx = df.index.values\n",
    "    vals = df.values\n",
    "    summ = idx * vals\n",
    "    return summ.sum()\n",
    "\n",
    "d1 = assignments_no_control_no_null['ASSIGNMENT:reward'].value_counts(normalize=True)\n",
    "d2 = assignments_no_control_no_null['ASSIGNMENT:reward'].value_counts()\n",
    "print(f'взвешенная цена айтема в тесте: {round(w_sum(d1), 3)}')\n",
    "print(f'потрачено на разметку теста: {round(w_sum(d2), 3)}')\n",
    "print(f'{round(w_sum(d2), 3)} / {round(w_sum(d1), 3)}')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Выделим, сколько составила средняя часовая ставка для разметки тестовой части датасета. Это будет простое среднее из следующих величин: количество заданий, которое разметчк может сделать за час на основе данного задания, помноженное на цену задания."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.034588397678552"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def get_hour_pay(df):\n",
    "    try:\n",
    "        times = pd.to_datetime(df['ASSIGNMENT:submitted']) - pd.to_datetime(df['ASSIGNMENT:started'])\n",
    "    except Exception as e:\n",
    "        times = []\n",
    "        for i in range(len(assignments_no_control_no_null)):\n",
    "            try:\n",
    "                start = pd.to_datetime(assignments_no_control_no_null['ASSIGNMENT:started'].iloc[i])\n",
    "            except Exception as e:\n",
    "                start = pd.to_datetime(assignments_no_control_no_null['ASSIGNMENT:started'].apply(lambda x: x.split('T')[1]).iloc[i])\n",
    "            try:\n",
    "                end = pd.to_datetime(assignments_no_control_no_null['ASSIGNMENT:submitted'].iloc[i])\n",
    "            except Exception as e:\n",
    "                start = pd.to_datetime(assignments_no_control_no_null['ASSIGNMENT:submitted'].apply(lambda x: x.split('T')[1]).iloc[i])\n",
    "            delta = end - start\n",
    "            times.extend([delta])\n",
    "        times = pd.Series(times)\n",
    "        # times = pd.to_datetime(df['ASSIGNMENT:submitted'].apply(lambda x: x.split('T')[1])) - pd.to_datetime(df['ASSIGNMENT:started'].apply(lambda x: x.split('T')[1]))\n",
    "    sums = 3600 / times.apply(lambda x: x.seconds) * df['ASSIGNMENT:reward']\n",
    "    return sums.mean()\n",
    "\n",
    "get_hour_pay(assignments_no_control_no_null)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Сбор ответов разметчиков и голосование"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Собираем ответы голосования большинством для каждого задания."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1143\n"
     ]
    }
   ],
   "source": [
    "from collections import defaultdict\n",
    "\n",
    "text_dict = defaultdict(list)\n",
    "\n",
    "for prob, user, out in zip(\n",
    "    assignments_no_control_no_null[\"INPUT:problem\"], assignments_no_control_no_null[\"ASSIGNMENT:worker_id\"], \n",
    "    assignments_no_control_no_null[\"OUTPUT:solution\"]\n",
    "    ):\n",
    "    if user not in bad_users:\n",
    "        text_dict[prob].append([\n",
    "                user,\n",
    "                {\"out\": out}\n",
    "        ])\n",
    "\n",
    "print(len(text_dict))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Counter({5: 1080, 4: 60, 3: 3})"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "keys = list(text_dict.keys())\n",
    "Counter([len(text_dict[keys[i]]) for i in range(len(keys))])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Есть 63 задания с перекрытием меньше 5. Для формирования итоговых лейблов нужно, чтобы было простое большинство разметчиков, проголосовавших за данную опцию. Если большинства нет, то оценка строится, исходя из оценки навыков разметчиков. В таком случае, финальный лейбл будет присвоен по голосу группы с наилучшими навыками."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "preds_full = {}\n",
    "user2skill = {k:v for k, v in zip(skills['worker_id'], skills['skill_value'])}\n",
    "control_acc = assignments[assignments['GOLDEN:solution'].notna()]\\\n",
    "    .groupby('ASSIGNMENT:worker_id')\\\n",
    "        .apply(lambda x: (np.array(x['OUTPUT:solution']) == np.array(x['GOLDEN:solution'])).mean())\n",
    "user2control = {k:v for k, v in zip(control_acc.index, control_acc.values)}\n",
    "\n",
    "from crowdkit.aggregation.classification.glad import GLAD\n",
    "\n",
    "full = assignments['INPUT:problem'] + ' ' + assignments['INPUT:option1'] + ' ' + assignments['INPUT:option2'] + ' ' + assignments['INPUT:option3'] + ' ' + assignments['INPUT:option4']\n",
    "id2task = dict(enumerate(full))\n",
    "task2id = {k:v for v, k in id2task.items()}\n",
    "id2user = dict(enumerate(assignments['ASSIGNMENT:worker_id']))\n",
    "user2id = {k:v for v, k in id2user.items()}\n",
    "\n",
    "codes = full.map(task2id)\n",
    "res = pd.DataFrame({'task': codes, 'worker': assignments['ASSIGNMENT:worker_id'].map(user2id), 'label': assignments['OUTPUT:solution']})\n",
    "model = GLAD(n_iter=10000, tol=1e-06, m_step_max_iter=1000, m_step_tol=1e-03)\n",
    "model.fit(res)\n",
    "user2alpha = dict(enumerate(model.alphas_))\n",
    "tb = model.alphas_.copy()\n",
    "tb.index = tb.index.map(id2user)\n",
    "user2alpha = {k:v for k, v in zip(tb.index, tb.values)}\n",
    "\n",
    "stats = {\n",
    "    'total_agreement': 0,\n",
    "    'majority': 0,\n",
    "    'skill_based': 0,\n",
    "    'major_based': 0,\n",
    "    'em_based': 0,\n",
    "    'rest': 0,\n",
    "}\n",
    "\n",
    "for i in range(len(keys)):\n",
    "    ans = text_dict[keys[i]]\n",
    "    lst = [[ans[j][0], ans[j][1]['out']] for j in range(len(ans))]\n",
    "    users, votes = list(zip(*lst))\n",
    "    cnt = pd.Series(Counter(votes)).sort_values(ascending=False)\n",
    "\n",
    "    # # total agreement\n",
    "    if len(cnt) == 1:\n",
    "        res = cnt.index[0]\n",
    "        stats['total_agreement'] += 1\n",
    "    # simple majority\n",
    "    elif cnt.iloc[0] > cnt.iloc[1]:\n",
    "        res = cnt.index[0]\n",
    "        stats['majority'] += 1\n",
    "    # (> 1 options) & (1 option == 2 option)\n",
    "    else:\n",
    "        # try overall skill based comparison\n",
    "        vals = list(map(lambda x: user2skill[x], users))\n",
    "        table = pd.DataFrame({'user': users, 'votes': votes, 'skill': vals})\n",
    "        agg = table.groupby('votes').agg(\n",
    "            sum_skill=pd.NamedAgg(column='skill', aggfunc='sum'),\n",
    "            sum_votes=pd.NamedAgg(column='user', aggfunc='count')\n",
    "        ).sort_values(by=['sum_votes', 'sum_skill'], ascending=False)\n",
    "        # check there is a leader by skills\n",
    "        if agg['sum_skill'].iloc[0] > agg['sum_skill'].iloc[1]:\n",
    "            res = agg.index[0]\n",
    "            stats['skill_based'] += 1\n",
    "        else:\n",
    "            # top-3 answers by overall skills\n",
    "            vals = list(map(lambda x: user2skill[x], users))\n",
    "            table = pd.DataFrame({'user': users, 'votes': votes, 'skill': vals})\n",
    "            table = table.sort_values(by='skill', ascending=False)\n",
    "            if len(table) >= 3:\n",
    "                sub = table.iloc[:3]\n",
    "            else:\n",
    "                sub = table\n",
    "            agg = sub.groupby('votes').agg(\n",
    "                sum_skill=pd.NamedAgg(column='skill', aggfunc='sum'),\n",
    "                sum_votes=pd.NamedAgg(column='user', aggfunc='count')\n",
    "            ).sort_values(by=['sum_votes', 'sum_skill'], ascending=False)\n",
    "            if agg['sum_skill'].iloc[0] != agg['sum_skill'].iloc[1]:\n",
    "                res = agg.index[0]\n",
    "                stats['major_based'] += 1\n",
    "            \n",
    "            else:\n",
    "                vals = list(map(lambda x: user2alpha[x], users))\n",
    "                table = pd.DataFrame({'user': users, 'votes': votes, 'skill': vals})\n",
    "                agg = table.groupby('votes').agg(\n",
    "                    sum_skill=pd.NamedAgg(column='skill', aggfunc='sum'),\n",
    "                    sum_votes=pd.NamedAgg(column='user', aggfunc='count')\n",
    "                ).sort_values(by=['sum_votes', 'sum_skill'], ascending=False)\n",
    "                # check there is a leader by skills\n",
    "                if agg['sum_skill'].iloc[0] != agg['sum_skill'].iloc[1]:\n",
    "                    res = agg.index[0]\n",
    "                    stats['em_based'] += 1\n",
    "                else:\n",
    "                    res = agg.index[0]\n",
    "                    stats['rest'] += 1\n",
    "\n",
    "    preds_full[keys[i]] = res"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'total_agreement': 846,\n",
       " 'majority': 287,\n",
       " 'skill_based': 9,\n",
       " 'major_based': 1,\n",
       " 'em_based': 0,\n",
       " 'rest': 0}"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stats"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "preds_full_df = pd.concat([pd.DataFrame(preds_full.keys(), columns=['prob']), pd.DataFrame(preds_full.values(), columns=['lb'])], axis=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Сопоставление разметки и ground truth"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Забираем задания из датасета с правильными метками."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "res_df = pd.read_csv('full_dataset.csv')\n",
    "res_df = res_df.rename({'text': 'prob', 'outputs': 'lb'}, axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>prob</th>\n",
       "      <th>option_a</th>\n",
       "      <th>option_b</th>\n",
       "      <th>option_c</th>\n",
       "      <th>option_d</th>\n",
       "      <th>lb</th>\n",
       "      <th>task</th>\n",
       "      <th>part</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Разность -3, 4 и 5 равна 6, умноженному на n. ...</td>\n",
       "      <td>3</td>\n",
       "      <td>-2</td>\n",
       "      <td>-3</td>\n",
       "      <td>2</td>\n",
       "      <td>B</td>\n",
       "      <td>math</td>\n",
       "      <td>train</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                prob option_a option_b  \\\n",
       "0  Разность -3, 4 и 5 равна 6, умноженному на n. ...        3       -2   \n",
       "\n",
       "  option_c option_d lb  task   part  \n",
       "0       -3        2  B  math  train  "
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "res_df.head(1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "После скачивания с Толоки в текстах рушится форматирование, потому нельзя просто сделать join двух табличек. Нужно убрать все \"лишнее\" форматирование сразу из двух табличек, чтобы остались только тексты, пунктуация и пробелы."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "def format_text(text):\n",
    "    text = (text.strip().replace('\\n', ' ').replace('\\t', ' ')\n",
    "            .replace('\\r', ' ').replace('  ', ' ').replace('  ', ' ')\n",
    "            .replace('  ', ' '))\n",
    "    return text\n",
    "\n",
    "res_df['prob'] = res_df['prob'].apply(format_text)\n",
    "preds_full_df['prob'] = preds_full_df['prob'].apply(format_text)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Делаем left join, чтобы соединить голосование и правильные метки для одних и тех же заданий."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "new = res_df.merge(preds_full_df, on='prob', how='left')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1143"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "new_valid = new[new['lb_y'].notna()].copy()\n",
    "len(new_valid)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>prob</th>\n",
       "      <th>option_a</th>\n",
       "      <th>option_b</th>\n",
       "      <th>option_c</th>\n",
       "      <th>option_d</th>\n",
       "      <th>lb_x</th>\n",
       "      <th>task</th>\n",
       "      <th>part</th>\n",
       "      <th>lb_y</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>681</th>\n",
       "      <td>Если сложить 38, умноженное на m и 33, умножен...</td>\n",
       "      <td>71</td>\n",
       "      <td>-10</td>\n",
       "      <td>10</td>\n",
       "      <td>11</td>\n",
       "      <td>C</td>\n",
       "      <td>math</td>\n",
       "      <td>test</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                  prob option_a option_b  \\\n",
       "681  Если сложить 38, умноженное на m и 33, умножен...       71      -10   \n",
       "\n",
       "    option_c option_d lb_x  task  part lb_y  \n",
       "681       10       11    C  math  test    C  "
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "new_valid.head(1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Подсчет метрики"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Если в правом столбце меток осталось 1143 непустых строк, значит, форматирование было подчищено корректно и ничего не потерялось."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.989501312335958"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(new_valid['lb_x'] == new_valid['lb_y']).mean()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`Accuracy = 0.99`"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Анализ ошибок"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "from scipy import stats\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "После голосования есть всего 6 ошибок - никакой информации из этих 6 ошибок извлечь нельзя, так как ошибок слишком мало, чтобы какой-либо вывод был взвешенным. Посмотрим на изначальный пул ответов разметчиков на каждое задание."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>INPUT:option1</th>\n",
       "      <th>INPUT:option2</th>\n",
       "      <th>INPUT:option3</th>\n",
       "      <th>INPUT:option4</th>\n",
       "      <th>INPUT:problem</th>\n",
       "      <th>OUTPUT:solution</th>\n",
       "      <th>GOLDEN:solution</th>\n",
       "      <th>HINT:text</th>\n",
       "      <th>HINT:default_language</th>\n",
       "      <th>ASSIGNMENT:link</th>\n",
       "      <th>ASSIGNMENT:task_id</th>\n",
       "      <th>ASSIGNMENT:assignment_id</th>\n",
       "      <th>ASSIGNMENT:task_suite_id</th>\n",
       "      <th>ASSIGNMENT:worker_id</th>\n",
       "      <th>ASSIGNMENT:status</th>\n",
       "      <th>ASSIGNMENT:started</th>\n",
       "      <th>ASSIGNMENT:submitted</th>\n",
       "      <th>ASSIGNMENT:accepted</th>\n",
       "      <th>ASSIGNMENT:reward</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>неправда</td>\n",
       "      <td>невозможно определить</td>\n",
       "      <td>нет правильного ответа</td>\n",
       "      <td>правда</td>\n",
       "      <td>2 умножить на r минус t равно 1. 2 умножить на...</td>\n",
       "      <td>D</td>\n",
       "      <td>D</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>https://platform.toloka.ai/task/41847389/00027...</td>\n",
       "      <td>00027e8a5d--6531445f90b596667cdeab6c</td>\n",
       "      <td>00027e8a5d--65314dbab28c1e25e8d0234c</td>\n",
       "      <td>00027e8a5d--65314dbab28c1e25e8d0234a</td>\n",
       "      <td>1b2fbe75c141718717281a939bdb0e49</td>\n",
       "      <td>APPROVED</td>\n",
       "      <td>2023-10-19T15:39:38.951</td>\n",
       "      <td>2023-10-19T15:40:52.386</td>\n",
       "      <td>2023-10-19T15:40:52.386</td>\n",
       "      <td>0.042</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  INPUT:option1          INPUT:option2           INPUT:option3 INPUT:option4  \\\n",
       "0      неправда  невозможно определить  нет правильного ответа        правда   \n",
       "\n",
       "                                       INPUT:problem OUTPUT:solution  \\\n",
       "0  2 умножить на r минус t равно 1. 2 умножить на...               D   \n",
       "\n",
       "  GOLDEN:solution  HINT:text  HINT:default_language  \\\n",
       "0               D        NaN                    NaN   \n",
       "\n",
       "                                     ASSIGNMENT:link  \\\n",
       "0  https://platform.toloka.ai/task/41847389/00027...   \n",
       "\n",
       "                     ASSIGNMENT:task_id              ASSIGNMENT:assignment_id  \\\n",
       "0  00027e8a5d--6531445f90b596667cdeab6c  00027e8a5d--65314dbab28c1e25e8d0234c   \n",
       "\n",
       "               ASSIGNMENT:task_suite_id              ASSIGNMENT:worker_id  \\\n",
       "0  00027e8a5d--65314dbab28c1e25e8d0234a  1b2fbe75c141718717281a939bdb0e49   \n",
       "\n",
       "  ASSIGNMENT:status       ASSIGNMENT:started     ASSIGNMENT:submitted  \\\n",
       "0          APPROVED  2023-10-19T15:39:38.951  2023-10-19T15:40:52.386   \n",
       "\n",
       "       ASSIGNMENT:accepted  ASSIGNMENT:reward  \n",
       "0  2023-10-19T15:40:52.386              0.042  "
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pool = pd.read_csv('assignments_from_pool_41847389__20-10-2023.tsv', sep='\\t')\n",
    "pool.head(1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Будем считать рассогласованность по энтропии Шеннона."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "def entropy(arr):\n",
    "    arr = np.asarray(arr).reshape(-1,)\n",
    "    cats = np.unique(arr)\n",
    "    probs = np.array([(arr == val).mean() for val in cats])\n",
    "    if (probs == 1).sum():\n",
    "        return 0\n",
    "    return -(probs * np.log2(probs)).sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Убираем контрольные задания, так как они не нужны."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "pool = pool[pool['GOLDEN:solution'].isna()].reset_index(drop=True)\n",
    "pool = pool.iloc[:, [0, 1, 2, 3, 4, 5, 13]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "pool = pool.rename({\n",
    "    'INPUT:option1': 'op1',\n",
    "    'INPUT:option2': 'op2',\n",
    "    'INPUT:option3': 'op3',\n",
    "    'INPUT:option4': 'op4',\n",
    "    'INPUT:problem': 'prob',\n",
    "    'OUTPUT:solution': 'sol',\n",
    "    'ASSIGNMENT:worker_id': 'user'\n",
    "}, axis=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Join с правильными ответами."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "pool['prob'] = pool['prob'].apply(format_text)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "pool = pool.merge(res_df.drop(['option_a', 'option_b', 'option_c', 'option_d', 'part'], axis=1), on='prob', how='left')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.92668416447944, 419)"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pool['cor'] = pool['sol'] == pool['lb']\n",
    "pool['cor'].mean(), pool.shape[0] - pool['cor'].sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Вот 419 ошибок отдельных толокеров - это то количество, из которого можно попробовать извлечь информацию."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "new = (pd.DataFrame({'prob': pool.prob.unique()})\\\n",
    " .merge(pool.groupby('prob')['sol'].agg(list), on='prob'))\\\n",
    "    .merge(pool.groupby('prob').agg(mean_correct = pd.NamedAgg(column='cor', aggfunc='mean')), on='prob')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Попробуем все же посчитать рассогласованность через энтропии Шеннона на списках ответов, чтобы быть уверенным, что информация оттуда бесполезна."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "new['entropy'] = new['sol'].apply(entropy)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Соединяем задачу с датасетом: MathQA или MathLogicQA, присвоив число, соответствующее датасету: 1 или 2."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "prob2ds = {k:v for k, v in zip(pool.drop_duplicates(subset='prob')['prob'], pool.drop_duplicates(subset='prob')['task'])}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "new['ds'] = new['prob'].apply(lambda x: prob2ds[x])\n",
    "new['ds_code'] = new['ds'].map({'math': 1, 'logimath': 2})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>prob</th>\n",
       "      <th>sol</th>\n",
       "      <th>mean_correct</th>\n",
       "      <th>entropy</th>\n",
       "      <th>ds</th>\n",
       "      <th>ds_code</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Если сложить 11 и 12, то получится 23, умножен...</td>\n",
       "      <td>[D, D, D, D, D]</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>math</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Если к -35, умноженному на s, прибавить 9, то ...</td>\n",
       "      <td>[C, C, C, C, C]</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>math</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Если из -r вычесть 5, то получится -g. Если из...</td>\n",
       "      <td>[B, B, B, B, B]</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>math</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                prob              sol  \\\n",
       "0  Если сложить 11 и 12, то получится 23, умножен...  [D, D, D, D, D]   \n",
       "1  Если к -35, умноженному на s, прибавить 9, то ...  [C, C, C, C, C]   \n",
       "2  Если из -r вычесть 5, то получится -g. Если из...  [B, B, B, B, B]   \n",
       "\n",
       "   mean_correct  entropy    ds  ds_code  \n",
       "0           1.0      0.0  math        1  \n",
       "1           1.0      0.0  math        1  \n",
       "2           1.0      0.0  math        1  "
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "new.head(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "def corrs(arr1, arr2):\n",
    "    return {\n",
    "        \"Pearson corr\": stats.pearsonr(arr1, arr2)[0],\n",
    "        \"Spearman corr\": stats.spearmanr(arr1, arr2)[0],\n",
    "        \"Kendall corr\": stats.kendalltau(arr1, arr2)[0],\n",
    "    }"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Посмотрим, есть ли какие-нибудь корреляции в полученном датасете."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Корреляция с энтропией\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Pearson corr</th>\n",
       "      <th>Spearman corr</th>\n",
       "      <th>Kendall corr</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Средняя корректность ответов размечтиков на задание</th>\n",
       "      <td>-0.949</td>\n",
       "      <td>-0.999</td>\n",
       "      <td>-0.994</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Номер датасета (MathQA или MathLogicQA)</th>\n",
       "      <td>-0.100</td>\n",
       "      <td>-0.102</td>\n",
       "      <td>-0.099</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Длина задания</th>\n",
       "      <td>0.161</td>\n",
       "      <td>0.190</td>\n",
       "      <td>0.153</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                    Pearson corr  \\\n",
       "Средняя корректность ответов размечтиков на зад...        -0.949   \n",
       "Номер датасета (MathQA или MathLogicQA)                   -0.100   \n",
       "Длина задания                                              0.161   \n",
       "\n",
       "                                                    Spearman corr  \\\n",
       "Средняя корректность ответов размечтиков на зад...         -0.999   \n",
       "Номер датасета (MathQA или MathLogicQA)                    -0.102   \n",
       "Длина задания                                               0.190   \n",
       "\n",
       "                                                    Kendall corr  \n",
       "Средняя корректность ответов размечтиков на зад...        -0.994  \n",
       "Номер датасета (MathQA или MathLogicQA)                   -0.099  \n",
       "Длина задания                                              0.153  "
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print(\"Корреляция с энтропией\")\n",
    "pd.DataFrame({\n",
    "    \"Средняя корректность ответов размечтиков на задание\": corrs(new['mean_correct'], new['entropy']),\n",
    "    \"Номер датасета (MathQA или MathLogicQA)\": corrs(new['entropy'], new['ds_code']),\n",
    "    \"Длина задания\": corrs(new['entropy'], new['prob'].apply(len)),\n",
    "}).round(3).transpose()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Чем больше в среднем разметчики верно ответили на задание, тем меньше энтропия, ведь неправильных ответов меньше. Длина задания почти не влияет на энтропию."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Корреляция со средней корректностью ответов на каждое задание\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Pearson corr</th>\n",
       "      <th>Spearman corr</th>\n",
       "      <th>Kendall corr</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Номер датасета (MathQA или MathLogicQA)</th>\n",
       "      <td>0.104</td>\n",
       "      <td>0.103</td>\n",
       "      <td>0.100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Длина задания</th>\n",
       "      <td>-0.155</td>\n",
       "      <td>-0.190</td>\n",
       "      <td>-0.153</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                         Pearson corr  Spearman corr  \\\n",
       "Номер датасета (MathQA или MathLogicQA)         0.104          0.103   \n",
       "Длина задания                                  -0.155         -0.190   \n",
       "\n",
       "                                         Kendall corr  \n",
       "Номер датасета (MathQA или MathLogicQA)         0.100  \n",
       "Длина задания                                  -0.153  "
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print(\"Корреляция со средней корректностью ответов на каждое задание\")\n",
    "pd.DataFrame({\n",
    "    \"Номер датасета (MathQA или MathLogicQA)\": corrs(new['mean_correct'], new['ds_code']),\n",
    "    \"Длина задания\":corrs(new['mean_correct'], new['prob'].apply(len)),\n",
    "}).round(3).transpose()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "А вот с датасетом никакой связи нет. Получается, ошибки не особо зависят от конкретного датасета. Длина задачи снова совсем немного влияет на точность и согласованность."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Теперь посмотрим на отдельные ответы разметчиков."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "pool['cor'] = pool['cor'].astype(int)\n",
    "pool['ds_code'] = pool['task'].map({'math': 1, 'logimath': 2})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Корреляция с корректностью ответа на задание\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Pearson corr</th>\n",
       "      <th>Spearman corr</th>\n",
       "      <th>Kendall corr</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Номер датасета (MathQA или MathLogicQA)</th>\n",
       "      <td>0.055</td>\n",
       "      <td>0.055</td>\n",
       "      <td>0.055</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Длина задания</th>\n",
       "      <td>-0.083</td>\n",
       "      <td>-0.100</td>\n",
       "      <td>-0.082</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                         Pearson corr  Spearman corr  \\\n",
       "Номер датасета (MathQA или MathLogicQA)         0.055          0.055   \n",
       "Длина задания                                  -0.083         -0.100   \n",
       "\n",
       "                                         Kendall corr  \n",
       "Номер датасета (MathQA или MathLogicQA)         0.055  \n",
       "Длина задания                                  -0.082  "
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print(\"Корреляция с корректностью ответа на задание\")\n",
    "pd.DataFrame({\n",
    "    \"Номер датасета (MathQA или MathLogicQA)\": corrs(pool['cor'], pool['ds_code']),\n",
    "    \"Длина задания\": corrs(pool['cor'], pool['prob'].apply(len)),\n",
    "}).round(3).transpose()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Снова никакой связи между правильными ответами (или ошибками) и датасетом или длиной задачи. Может варианты ответа влияют? Например, если ответ не числовой, то ошбки могут расти."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [],
   "source": [
    "pool['lit_ops'] = pool['op1'].apply(lambda x: x[0].isalpha()).astype(int)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Корреляция с корректностью ответа на задание\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Kendall corr</th>\n",
       "      <th>Pearson corr</th>\n",
       "      <th>Spearman corr</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Буквенный ответ</th>\n",
       "      <td>-0.11</td>\n",
       "      <td>-0.11</td>\n",
       "      <td>-0.11</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 Kendall corr  Pearson corr  Spearman corr\n",
       "Буквенный ответ         -0.11         -0.11          -0.11"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print(\"Корреляция с корректностью ответа на задание\")\n",
    "pd.DataFrame({\n",
    "    \"Буквенный ответ\": corrs(pool['cor'], pool['lit_ops']),\n",
    "}).round(3).transpose()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Нечисловые варианты ответа почти никак не влияют на результат. Может быть переменные в задаче влияют на результат?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Достанем наименования неизвестных для уравнений."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_symbs(obj):\n",
    "    return list(set(list(filter(lambda y: not y.isdigit(), list(filter(lambda z: len(z) == 1, list(map(lambda x: x[:-1].strip() if (x.endswith(',') or x.endswith('.')) else x, obj.split()))))))))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [],
   "source": [
    "def filt_symbs(obj):\n",
    "    lst = get_symbs(obj)\n",
    "    lst = list(filter(lambda x: ord(x) < 130, lst))\n",
    "    return list(filter(lambda x: x.isalpha(), lst))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [],
   "source": [
    "pool['vars'] = pool['prob'].apply(filt_symbs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Корреляция с корректностью ответа на задание\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Kendall corr</th>\n",
       "      <th>Pearson corr</th>\n",
       "      <th>Spearman corr</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Количество переменных</th>\n",
       "      <td>-0.137</td>\n",
       "      <td>-0.143</td>\n",
       "      <td>-0.143</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                       Kendall corr  Pearson corr  Spearman corr\n",
       "Количество переменных        -0.137        -0.143         -0.143"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print(\"Корреляция с корректностью ответа на задание\")\n",
    "pd.DataFrame({\n",
    "    \"Количество переменных\": corrs(pool['cor'], pool['vars'].apply(len)),\n",
    "}).round(3).transpose()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Количество неизвестных очень слабо влияет."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [],
   "source": [
    "new['vars'] = new['prob'].apply(filt_symbs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Корреляция с количеством неизвестных в условии задания\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Pearson corr</th>\n",
       "      <th>Spearman corr</th>\n",
       "      <th>Kendall corr</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Средняя корректность ответов разметчиков на задание</th>\n",
       "      <td>-0.267</td>\n",
       "      <td>-0.266</td>\n",
       "      <td>-0.246</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Энтропия ответов разметчиков на задание</th>\n",
       "      <td>0.270</td>\n",
       "      <td>0.266</td>\n",
       "      <td>0.246</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                    Pearson corr  \\\n",
       "Средняя корректность ответов разметчиков на зад...        -0.267   \n",
       "Энтропия ответов разметчиков на задание                    0.270   \n",
       "\n",
       "                                                    Spearman corr  \\\n",
       "Средняя корректность ответов разметчиков на зад...         -0.266   \n",
       "Энтропия ответов разметчиков на задание                     0.266   \n",
       "\n",
       "                                                    Kendall corr  \n",
       "Средняя корректность ответов разметчиков на зад...        -0.246  \n",
       "Энтропия ответов разметчиков на задание                    0.246  "
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print(\"Корреляция с количеством неизвестных в условии задания\")\n",
    "pd.DataFrame({\n",
    "    \"Средняя корректность ответов разметчиков на задание\": corrs(new['mean_correct'], new['vars'].apply(len)),\n",
    "    \"Энтропия ответов разметчиков на задание\": corrs(new['entropy'], new['vars'].apply(len)),\n",
    "}).round(3).transpose()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "А вот на среднюю точность очень даже влияет - хоть какой-то результат..."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "А что, если есть конкретные наименования переменных, которые влияют на результат. Достанем названия неизвестных."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [],
   "source": [
    "all_vars = sorted(list(set(list(map(lambda x: x.lower(), set(new['vars'].sum()))))))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Посчитаем корреляции сердней корректности и энтропии ответов разметчиков на задание с наличием конкретной переменной в задании."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "var_cor = {}\n",
    "var_ent = {}\n",
    "for i in range(len(all_vars)):\n",
    "    var_name = all_vars[i]\n",
    "    mask = new['vars'].apply(lambda x: var_name in x)\n",
    "    corr1 = stats.pearsonr(new['mean_correct'], mask)[0]\n",
    "    corr2 = stats.pearsonr(new['entropy'], mask)[0]\n",
    "    var_cor[var_name] = corr1\n",
    "    var_ent[var_name] = corr2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 700x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(7, 5))\n",
    "plt.title('Correlations between different VARS and CORRECT/ENTROPY', weight='bold')\n",
    "plt.plot(var_cor.values(), c='b', label='corr_correct')\n",
    "plt.plot(var_ent.values(), c='r', label='corr_entropy')\n",
    "plt.xlabel('vars', size=12)\n",
    "plt.ylabel('Pearson correlation', size=12)\n",
    "plt.legend(loc='lower right')\n",
    "plt.xticks(ticks=range(len(all_vars)), labels=list(var_cor.keys()))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "В абсолютных значениях связи особой нет. Но в относительных значениях видно, что переменная с именем `j` странным образом связана с ошибками. Но такая связь крайне сомнительна, так как сложность зависит от самой задачи в первую очередь, плюс задач с разными переменными не одинаковое количество, а также есть много задач с двумя неизвестными.\n",
    "\n",
    "Возможно, для отдельных ответов разметчиков свзяь будет более явной и значимой."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [],
   "source": [
    "var_cor = {}\n",
    "for i in range(len(all_vars)):\n",
    "    var_name = all_vars[i]\n",
    "    mask = pool['vars'].apply(lambda x: var_name in x)\n",
    "    corr1 = stats.pearsonr(pool['cor'], mask)[0]\n",
    "    var_cor[var_name] = corr1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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az/2TEQGAwU/EZEgioyM5LHHHqO6uporV67w66+/8t133/lG+wBycnLYsWMH+fn5fPzxx9TU1PDll18C0N3dfU3N/04LAzz33HM0NTXx2muvYbVaKSoqIi0tjfr6+v7rnIiEPAU/EZEgczqdnD9/HpfLxYcffkhPT48v+Hm9XlwuFy+88ALFxcU8/vjjPPLIIyQnJ9/wz3E4HKxatYqamhoaGhq4fPkypaWlwe6OiAwi2tUrIhJk06dPx263U1lZyYkTJ5gwYYJvurZ3w8d/99WVlZVdd/2Ojg7CwsKwWq2+1xwOBzExMfz999+Bd0BEBi0FPxGRIIuIiGDu3LlUVFTQ3t7O1q1bfddiY2N9a/K6urpITEykpqaG5ubm667f1NREZmYmOTk5pKenEx4eTnV1NWfOnOHJJ5/sjy6JyCCh4Cci0g+cTifvvfceJpOJnJycPtf27t1LQUEB77zzDj09PcyYMYMDBw5w2223XVftO+64g9zcXFwuF7t37yY8PJx77rmHqqoqsrOz+6M7IjJI6Bw/EREREYPQ5g4RERERg1DwExERETEIBT8RERERg1DwExERETEIBT8RERERg1DwExERETEIBT8RERERg1DwExERETEIBT8RERERg1DwExERETEIBT8RERERg1DwExERETGIfwCFYjCWRrrosgAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 700x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(7, 5))\n",
    "plt.title('Correlations between different VARS and CORRECT', weight='bold')\n",
    "plt.plot(var_cor.values(), c='b', label='corr_correct')\n",
    "plt.xlabel('vars', size=12)\n",
    "plt.ylabel('Pearson correlation', size=12)\n",
    "plt.legend(loc='lower right')\n",
    "plt.xticks(ticks=range(len(all_vars)), labels=list(var_cor.keys()))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Нет, график очень похож на предыдущий. Однако значения корреляций слишком малы, чтобы можно было делать вывод о наличии зависимости."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.4"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
